FIG. 23 is a diagram that illustrates an example of the configuration of an information processing system 100, and FIG. 24 is a diagram that illustrates an example of the functional configuration of an application server 120 illustrated in FIG. 23. As illustrated in FIG. 23, the information processing system 100 includes: a plurality of application servers 120; a plurality of database (DB) servers 140; and a network switch 130 that connects the application servers 120 and the DB servers 140.
In the information processing system 100, as illustrated in FIG. 24, the application server 120 accesses a DB 141 managed by the DB server 140 using a database connection unit 122, thereby executing a predetermined application 121. As the DB 141 for which the application server 120 performs an access, in other words, an operation of inputting/outputting data or the like, a relational DB (RDB) that represents relations between data and a plurality of pieces of data in one or more tables is frequently used. The RDB, owing to its high penetration, has active operations for functional enhancements and bug corrections made by vendors, users, and the like of a management system (RDB management system; RDBMS) and is regarded as a DB having high performance and high stability.
The application 121 frequently uses a data model (data format) having a tree structure including a nested structure. Here, the data model is a data format used for the application 121 to access the DB 141 and defines the form of data handled by the application 121 in an access from the application to the DB 141. In a case where a data model having a tree structure is implemented using an RDB that handles data of a table form, a developer of the application 121 designs the data model in which a plurality of tables are associated with one another in a complicated manner. However, in a case where a plurality of tables are associated with one another in a complicated manner, it is difficult for a developer to recognize trees in a design stage of the application 121, and there are cases where the design, the update, and the like of the application 121 are difficult to perform easily.
On the other hand, a document DB (DDB) for which a data model having a tree structure including a nested structure can be easily handled is known. The DDB is a DB that is specialized on the application 121 side and allows a tree structure to be seen by a developer and the like so as to be handled as it is and enables intuitive design of a data model.
In addition, as related technology, a technology for an electronic transaction slip converting apparatus to convert electronic data interchange (EDI) slip data into RDB transaction data by using a conversion rule for converting the EDI slip data into an RDB format is known (for example, see Japanese Laid-open Patent Publication No. 09-319811).
Furthermore, as another related technology, a technology for generating a model of an object DB (ODB) and a model of an RDB and converting a set of ODBs into the RDB is known (for example, see Japanese National Publication of International Patent Application No. 11-504451).
Since the DDB has a product history shorter than the RDB, the introduction thereof is not popular, and bug corrections and the like thereof are not actively made. Thus, it is difficult to determine that the DDB has performance and stability superior to those of the RDB. For this reason, in a case where the DB server 140 uses the DDB, the performance of the application server 120 is expected to be higher than that of a case where the RDB is used. In addition, in a case where the application 121 does not allow any data error or any data loss or does not allow many data errors or a large amount of data loss, it is difficult to introduce the DDB.
On the other hand, in a case where a tree structure including a nested structure (hereinafter, simply referred to as a tree structure) is to be represented using the RDB, one of the following techniques (a) and (b) may be considered.
(a) The data format of the tree structure is converted into a format of a single table.
(b) The data format of the tree structure is converted into a format of a plurality of tables.
In the technique (a) described above, when data having a tree structure is converted into single-table-format data, and the converted data is stored in the RDB, due to the nested structure, duplications of the content of data occur, and the data size of the RDB increases.
In addition, in the technique (b) described above, when data having a tree structure is converted into multiple-table-format data, the number of tables is increased, and accordingly, many tables are referred to at the time of referring from the application server 120. As a result, a large amount of the memory is consumed.
As above, in a case where the DDB that is suitable for the design, update, and the like of the application 121 is used as the DB 141, compared to the case of the DB 141 handling the RDB, there is a problem in that a decrease in the performance of the system or an increase in the introduction/operating cost may occur.
In addition, the technology for converting the EDI slip data into the RDB transaction data described above enables a conversion of data of a specific format into data of an RDB format, and it is difficult to convert data of a tree structure including various nested structures or various hierarchies into data of the RDB format in an adaptive manner.